//
//  YSHDevKitTimer.h
//  Pods
//
//  Created by 余思豪 on 2022/9/22.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface YSHDevKitTimer : NSObject

/**
* @brief 快速创建block定时器
*
* @param task 要执行的block
* @param start 开始时间
* @param interval block调用间隔时间(repeats为YES时有效)
* @param repeats 是否重复
* @param async 是否异步
*
* @return 定时器标识符，用于取消定时器（不重复时可无视）
*/

+ (NSString *)execTask:(void(^)(void))task
                 start:(NSTimeInterval)start
              interval:(NSTimeInterval)interval
               repeats:(BOOL)repeats
                 async:(BOOL)async;

/**
* @brief 快速创建方法定时器
*
* @param target 对象
* @param selector 方法
* @param start 开始时间
* @param interval 方法调用间隔时间(repeats为YES时有效)
* @param repeats 是否重复
* @param async 是否异步
*
* @return 定时器标识符，用于取消定时器（不重复时可无视）
*/

+ (NSString *)execTask:(id)target
              selector:(SEL)selector
                 start:(NSTimeInterval)start
              interval:(NSTimeInterval)interval
               repeats:(BOOL)repeats
                 async:(BOOL)async;

/**
*@brief 取消以上俩个方法中的定时器
*
*@param name 定时器标识符
*
*/

+ (void)cancelTask:(NSString *)name;


@end

NS_ASSUME_NONNULL_END
